package it.clariter.model;

import java.io.Serializable;
import java.util.List;

//TipologiaDocumento: id, codice, descrizione, documenti(ArrayList<Documento>)
public class TipologiaDocumento implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -3345966900834123565L;
	private int idDocumento;
	private String codice;
	private String descrizione;
	private List<Documento>list;
	
	public TipologiaDocumento(){
	}
	public TipologiaDocumento(String codice,String descrizione){
		this.setCodice(codice);
		this.setDescrizione(descrizione);
	}
	public int getIdDocumento() {
		return idDocumento;
	}
	public void setIdDocumento(int idDocumento) {
		this.idDocumento = idDocumento;
	}
	public String getCodice() {
		return codice;
	}
	public void setCodice(String codice) {
		this.codice = codice;
	}
	public String getDescrizione() {
		return descrizione;
	}
	public void setDescrizione(String descrizione) {
		this.descrizione = descrizione;
	}
	public List<Documento> getList() {
		return list;
	}
	public void setList(List<Documento> list) {
		this.list = list;
	}
	public String toString(){
		String ritorno="COdice: "+this.getCodice()+"\n"+"Descrizione: "+this.getDescrizione()+"\n";
		for(int i=0;i<list.size();i++) {
			ritorno=ritorno+list.get(i);
		}
		return ritorno;
	}
    public boolean equals(Object o){
    if(o instanceof TipologiaDocumento)
    	return true;
    TipologiaDocumento tipologiaDocumento=(TipologiaDocumento)o;
    if(!((this.getIdDocumento()==tipologiaDocumento.getIdDocumento())||(this.getCodice().equals(tipologiaDocumento.getCodice()))||(this.getDescrizione().equals(tipologiaDocumento.getDescrizione()))))
    	return false;
    for(int i=0;i<list.size();i++){
    	if(!(this.list.get(i).equals(tipologiaDocumento.getList().get(i))))
    		return false;
    }
    return true;
    }
}
